package com.ruoyi.project.game.topicgame.service.impl;

import java.util.List;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import com.ruoyi.common.utils.DateUtils;
import com.ruoyi.common.utils.text.Convert;
import com.ruoyi.framework.aspectj.lang.annotation.DataSource;
import com.ruoyi.framework.aspectj.lang.enums.DataSourceType;
import com.ruoyi.project.game.game.domain.Game;
import com.ruoyi.project.game.game.mapper.GameMapper;
import com.ruoyi.project.game.topicgame.domain.TopicGame;
import com.ruoyi.project.game.topicgame.mapper.TopicGameMapper;
import com.ruoyi.project.game.topicgame.service.ITopicGameService;

/**
 * 主题游戏列表Service业务层处理
 * 
 * @author shixiangwen
 * @date 2020-02-12
 */
@Service
@DataSource(value = DataSourceType.GAME)
public class TopicGameServiceImpl implements ITopicGameService {
	@Autowired
	private TopicGameMapper topicGameMapper;

	@Autowired
	private GameMapper gameMapper;

	/**
	 * 查询主题游戏列表
	 * 
	 * @param id 主题游戏列表ID
	 * @return 主题游戏列表
	 */
	@Override
	public TopicGame selectTopicGameById(Long id) {
		return topicGameMapper.selectTopicGameById(id);
	}

	/**
	 * 查询主题游戏列表列表
	 * 
	 * @param topicGame 主题游戏列表
	 * @return 主题游戏列表
	 */
	@Override
	public List<TopicGame> selectTopicGameList(TopicGame topicGame) {
		List<TopicGame> list = topicGameMapper.selectTopicGameList(topicGame);
		for (TopicGame tGame : list) {
			Game game = gameMapper.selectGameById(tGame.getGameId());
			if (game != null) {
				tGame.setName(game.getName());
				tGame.setIcon(game.getIcon());
			}
		}
		return list;
	}

	/**
	 * 新增主题游戏列表
	 * 
	 * @param topicGame 主题游戏列表
	 * @return 结果
	 */
	@Override
	public int insertTopicGame(TopicGame topicGame) {
		topicGame.setCreateTime(DateUtils.getNowDate());
		return topicGameMapper.insertTopicGame(topicGame);
	}

	/**
	 * 修改主题游戏列表
	 * 
	 * @param topicGame 主题游戏列表
	 * @return 结果
	 */
	@Override
	public int updateTopicGame(TopicGame topicGame) {
		topicGame.setUpdateTime(DateUtils.getNowDate());
		return topicGameMapper.updateTopicGame(topicGame);
	}

	/**
	 * 删除主题游戏列表对象
	 * 
	 * @param ids 需要删除的数据ID
	 * @return 结果
	 */
	@Override
	public int deleteTopicGameByIds(String ids) {
		return topicGameMapper.deleteTopicGameByIds(Convert.toStrArray(ids));
	}

	/**
	 * 删除主题游戏列表信息
	 * 
	 * @param id 主题游戏列表ID
	 * @return 结果
	 */
	@Override
	public int deleteTopicGameById(Long id) {
		return topicGameMapper.deleteTopicGameById(id);
	}
}
